/*
 * @(#)DocumentProperties.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.workflow.core;

import java.util.Hashtable;

/**
 * <p>Class Name:       DocumentProperties.java    </p>
 * <p>Description:      The class consists of the default's properties of a docuement have.</p>
 * @author              Angus Shiu
 * @company             DCIVision Limited
 * @creation date       02/12/2003
 * @version             $Revision: 1.3 $
 */

//** ================================================================================================================================================
//** PLEASE READ HERE BEFORE MODIFY THIS FILE
//** NOTE: this class is copied from com.dcivision.dms.core.DocumentProperties.java. Change in this file may required change on the counterpart also.
//** ================================================================================================================================================

public class DocumentProperties {
  
  public static final String REVISION = "$Revision: 1.3 $";
  
  private Hashtable properties;
  /**
   * Constructor - new Hashtable() for properties
   *
   */
  public DocumentProperties() {
    properties = new Hashtable();
  }
  /**
   * Set one object into property
   * 
   * @param name The Hashtable's key
   * @param property The Hashtable's object
   */
  public void setProperty(String name, Object property) {
    properties.put(name, property);
  }
  /**
   * Gets the object by key for given name
   * 
   * @param name The object's key
   * @return system object
   */
  public Object getProperty(String name) {
    return properties.get(name);
  }
  /**
   * Delete the object by key for given name
   * @param name The object's key
   */
  public void remove(String name) {
    properties.remove(name);
  }
  /**
   * Delete all object for this Hashtable
   *
   */
  public void clear() {
    properties.clear();
  }
  /**
   * Gets a number of object's summation in Hashtable
   * @return int The number of object's summation in Hashtable
   */
  public int size() {
    return properties.size();
  }
}